class Restaurant:
    # 类属性
    eating=True
    # 类的私有属性
    __earingmoney=True
    # 类方法
    @classmethod
    def get_money(cls):
        return cls.__earingmoney
    # 初始化实例属性
    def __init__(self,name,cuisine):
        self.name=name
        self.cuisine=cuisine
        # 实例的私有属性
        self.__mymoney=200000

    # __str --介绍餐馆
    def __str__(self):
        return f'餐馆的名字是{self.name},餐馆的菜式是{self.cuisine}'
    # 实例方法--餐馆介绍
    def describe(self):
        print(f'餐馆的名字是{self.name}')
        print(f'餐馆的菜式是{self.cuisine}')
    # 实例方法--开馆营业
    def open_restaurant(self):
        print(f'{self.name}要开馆营业啦，欢迎光临！')

# coucou=Restaurant('凑凑','火锅')
# coucou.describe()
# coucou.open_restaurant()
#
# xicha=Restaurant("喜茶",'茶饮')
# xicha.describe()
# xicha.open_restaurant()

# 调用类属性，类属性可以通过实例访问，也可以通过类访问
xingbake=Restaurant('星巴克','下午茶')
print(xingbake.eating)
print(Restaurant.eating)

# 调用类私有属性，语法是 类._类名__私有变量名
print(xingbake._Restaurant__earingmoney)

# 调用类方法
print(xingbake.get_money())

# 调用实例的私有属性
print(xingbake._Restaurant__mymoney)

# 调用str方法
print(xingbake)
